﻿
namespace System.Reflection
{
	[AttributeUsage(AttributeTargets.Interface | AttributeTargets.Struct | AttributeTargets.Class)]
	public sealed class DefaultMemberAttribute : Attribute
	{
		// Fields
		private string m_memberName;

		// Methods
		public DefaultMemberAttribute(string memberName)
		{ this.m_memberName = memberName; }

		// Properties
		public string MemberName
		{ get { return this.m_memberName; } }
	}

	[AttributeUsage(AttributeTargets.Assembly, Inherited = false)]
	public sealed class AssemblyVersionAttribute : Attribute
	{
		// Fields
		private string m_version;

		// Methods
		public AssemblyVersionAttribute(string version)
		{ this.m_version = version; }

		// Properties
		public string Version
		{ get { return this.m_version; } }
	}

	[AttributeUsage(AttributeTargets.Assembly, Inherited = false)]
	public sealed class AssemblyFileVersionAttribute : Attribute
	{
		// Fields
		private string _version;

		// Methods
		public AssemblyFileVersionAttribute(string version)
		{ this._version = version; }

		// Properties
		public string Version
		{ get { return this._version; } }
	}

	[AttributeUsage(AttributeTargets.Assembly, Inherited = false)]
	public sealed class AssemblyTitleAttribute : Attribute
	{
		// Fields
		private string m_title;

		// Methods
		public AssemblyTitleAttribute(string title)
		{
			this.m_title = title;
		}

		// Properties
		public string Title
		{
			get
			{
				return this.m_title;
			}
		}
	}
}
